#ifndef __TE_RENDERER_H
#define __TE_RENDERER_H

#include "te_local.h"

class Renderer : public GameRenderer
{
private:
	static Renderer *instance;

	irr::IrrlichtDevice *irrDevice;

	void Init();

	void QueryDriver();			// checks to make sure that our driver can support various things

	DictEx<irr::video::IImage *> bankImages; 
	DictEx<irr::video::ITexture *> bankTextures;
	DictEx<irr::gui::IGUIFont *> bankFonts;
public:
	Renderer();
	~Renderer();

	static Renderer *GetSingleton();
	static void DestroySingleton();

	bool Run();

	irr::video::IImage *GetImageResource(const char *fileName);
	irr::gui::IGUIFont *GetFontResource(const char *fontFileName);

	friend class GameEngine;
};

#endif